package interfacedemo;

// 接口,规定约束(中央下的红头文件),XX能力
interface Lifeable{
	//1.静态常量
	public static final String STAR = "地球";
	// 接口中随便定义的变量就是!!!静态常量
	public int i = 10;
	//2.抽象方法,实现类一定要重写抽象方法（否则实现类必须是抽象类）
	public abstract void eat(String thing);
	//3.默认方法（只有接口中能定义），有方法体,实现类可以重写也可以不重写
	public default void breath() {
		System.out.println("用肺呼吸，吸一口呼一口");
	}
	//4.静态方法,实现不能重写
	public static void sleep () {
		System.out.println("闭眼睡觉...");
	}
}
 // 类实现接口  extends继承, 
class Person implements Lifeable{
	@Override
	public void eat(String thing) {
		System.out.println("人类把" + thing + "做熟了吃");
		Lifeable.sleep();
	}
}
public class Demo1 {
	public static void main(String[] args) {
		// 接口不能实例化对象
		// Lifeable lifeable = new Lifeable();
		Person p = new Person();
		p.breath();
		p.eat("meat");
	}
}
